AUTOSAR 通信栈分析(二)
目录
1.PduR
1.1 PduR多播功能
1.2 PduR网关路由功能
1.3 PduR和IpduM
2.CAN 通信栈介绍
2.1 ComM、CanSM、CanNM概述
2.2 PDU和HOH
2.3 CAN消息TX\RX模式
3.小结
书接上文AUTOSAR 通信栈分析(一)。
我们了解了通信栈中服务层Com模块的基本功能,对PDU、SDU等做了解析,那么今天就来讲解通信栈的PduR,并以CAN通信栈为例,讲解一下CanNM、CanSM、CanTP是如何协同工作的。对于PduR有多重用法,如下:
1.1 PduR多播功能
如下图所示:
单路由模式
Com层通过PduR将PDU路由到CanIf或者路由到LinIf层
多路由模式
Com层通过PduR将PDU路由到CanIf和LinIf层
1.2 PduR网关路由功能
1.3 PduR和IpduM
除了上述功能,在PduR这一层级还有一个IpduM(I-PDU Multiplexer) ,用于同一个PDU ID的复用,其基本原理如下:
02.CAN通信栈介绍
上面讨论了这么多内容,我们还是来看看一个具体示例:以CAN为例,一个比较完整的通信栈包括如下模块:首先简单介绍下每个模块基本概念,后面具体讲细节
ComM:管理所有通信channel的通信模式,与CanSM、CanNM相关
CanNM:处理网络管理相关问题
CanSM:处理CAN通信栈的状态管理问题
Com:CAN报文信号的拆解组包等
CanTP:诊断PDU的分段
CanIf:对MCU内部CAN的不同驱动进行抽象
Can:实际硬件CAN驱动访问
2.1 ComM、CanSM、CanNM概述
ComM主要是通信状态、网络管理的控制,具体控制框图如下:所谓通信通道,是对 物理通信controller的抽象,每个通道都有自己的通信模式,如下面所示:
管理每个通信channel的通信模式
协调来自通信请求者的总线通信请求
提供API关闭某些特定信号的发送
唤醒总线
总线错误处理
通信状态/Sub_State | 消息发送 | 消息接收 | NM/总线通信 | 唤醒能力 |
Full COM Network requested | √ | √ | 请求 | 不可唤醒 |
Full COM Ready Sleep | √ | √ | 请求 | 不可唤醒 |
Silent COM | × | √ | 请求 | 用户请求 网络响应 |
No COM | × | × | 请求 | 用户请求 被动唤醒 |
简化后的状态机如下:
ComM -> CanSM :请求Full通信了
CanSM -> CanIf:赶快把tranceiver的模式设置为normal
CanIf-> CanTrcv:好吧,我变成normal了
CanSM -> CanIf:赶快把contorller设置为started
CanIf-> Can:好吧,我变成started了
CanSM -> Com :给通道1准备开始Rx PDU Group接口
CanSM -> Com :给通道1准备开始Tx PDU Group接口
CanSM -> ComM :好了,CanSM小弟已经把活干完了
ComM -> NM:有个网络请求,从CanNM来的
NM -> CanNM:快点跳到start模式哦
CanNM:OK
2.2 PDU和HOH
在AUTOSAR中,硬件被抽象成为HOH(Hardware object handles),通常来讲一个HOH表示CAN controller里的一个消息buffer。CanIF把不同PDU映射到不同的HOH上,如下:2.3 CAN消息TX\RX模式
在CAN的基础配置中,message的处理方式有两种:中断
在OS中配置相应的ISE
轮询
调度器周期调度Can Mainfunction
除了上述功能,还有如下功能:
TxConfirmation
RxIndication
BusError Handle
WakeUp Hanlde
03.小结本节内容主要是对CAN通信栈、PduR做了介绍,把ComM如何与CanSM、NM、CanNM协调做了一个概述,下一节将详细介绍NM的状态机。
往期回顾:
1.汽车标定合集
汽车标定文章合集汽车标定技术--XCP协议如何支持测量功能
硬核:汽车标定--多周期测量显示异常汽车标定技术--MPC57xx是如何支持标定的页切换
2.AUTOSAR合集
AUTOSAR OS概述(一)AUTOSAR OS概述(二)
AUTOSAR 通信栈分析(一)
AUTOSAR文章合集
Flash模拟EEPROM原理浅析
3.汽车网络安全合集
汽车网络安全方案产品交付形态的思考汽车网络安全方案需求分析
车载信息安全场景概述
汽车网络安全渗透测试概述
汽车网络安全文章合集
4.汽车功能安全合集
5.汽车虚拟化合集